package com.github.bitsapling.sapling.service;

import com.github.bitsapling.sapling.entity.Torrent;
import com.github.bitsapling.sapling.entity.TransferHistory;
import com.github.bitsapling.sapling.entity.User;
import org.jetbrains.annotations.NotNull;

import java.util.List;

public interface TransferHistoryService {

    public TransferHistory getTransferHistory(@NotNull User user, @NotNull Torrent torrent);

    public List<TransferHistory> getTransferHistory(@NotNull User user);

    public List<TransferHistory> getTransferHistory(@NotNull Torrent torrent);

    public TransferHistory createOrUpdate(@NotNull TransferHistory transferHistory);

    public PeerStatus getPeerStatus(@NotNull Torrent torrent);

    public record PeerStatus(int complete, int incomplete, int downloaded, int downloaders) {

    }
}
